﻿using System;
using System.ComponentModel;
using System.Runtime.InteropServices;

namespace Teigha.Core
{
	public class OdGiMentalRayRenderSettingsTraitsData : OdGiRenderSettingsTraitsData
	{
		[EditorBrowsable(EditorBrowsableState.Never)]
		public OdGiMentalRayRenderSettingsTraitsData(IntPtr cPtr, bool cMemoryOwn) : base(GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_SWIGUpcast(cPtr), cMemoryOwn)
		{
			this.swigCPtr = new HandleRef(this, cPtr);
		}

		[EditorBrowsable(EditorBrowsableState.Never)]
		public static HandleRef getCPtr(OdGiMentalRayRenderSettingsTraitsData obj)
		{
			if (obj != null)
			{
				return obj.swigCPtr;
			}
			return new HandleRef(null, IntPtr.Zero);
		}

		~OdGiMentalRayRenderSettingsTraitsData()
		{
			this.Dispose();
		}

		public override void Dispose()
		{
			if (this.swigCPtr.Handle != IntPtr.Zero)
			{
				if (this.swigCMemOwn)
				{
					lock (this.locker)
					{
						if (this.swigCPtr.Handle != IntPtr.Zero && this.swigCMemOwn)
						{
							this.swigCMemOwn = false;
							GlobalsPINVOKE.delete_OdGiMentalRayRenderSettingsTraitsData(this.swigCPtr);
						}
					}
					this.swigCMemOwn = false;
				}
				this.swigCPtr = new HandleRef(null, IntPtr.Zero);
			}
			GC.SuppressFinalize(this);
			base.Dispose();
		}

		public OdGiMentalRayRenderSettingsTraitsData() : this(GlobalsPINVOKE.new_OdGiMentalRayRenderSettingsTraitsData(), true)
		{
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setSampling(int min, int max)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setSampling(this.swigCPtr, min, max);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void sampling(out int min, out int max)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_sampling(this.swigCPtr, out min, out max);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setSamplingFilter(OdGiMrFilter filter, double width, double height)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setSamplingFilter(this.swigCPtr, (int)filter, width, height);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void samplingFilter(out OdGiMrFilter filter, out double width, out double height)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_samplingFilter(this.swigCPtr, out filter, out width, out height);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setSamplingContrastColor(float r, float g, float b, float a)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setSamplingContrastColor(this.swigCPtr, r, g, b, a);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void samplingContrastColor(out float r, out float g, out float b, out float a)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_samplingContrastColor(this.swigCPtr, out r, out g, out b, out a);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setShadowMode(OdGiMrShadowMode mode)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setShadowMode(this.swigCPtr, (int)mode);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdGiMrShadowMode shadowMode()
		{
			OdGiMrShadowMode result = (OdGiMrShadowMode)GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_shadowMode(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setShadowMapEnabled(bool enabled)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setShadowMapEnabled(this.swigCPtr, enabled);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public bool shadowMapEnabled()
		{
			bool result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_shadowMapEnabled(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setRayTraceEnabled(bool enabled)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setRayTraceEnabled(this.swigCPtr, enabled);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public bool rayTraceEnabled()
		{
			bool result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_rayTraceEnabled(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setRayTraceDepth(int reflection, int refraction, int sum)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setRayTraceDepth(this.swigCPtr, reflection, refraction, sum);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void rayTraceDepth(out int reflection, out int refraction, out int sum)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_rayTraceDepth(this.swigCPtr, out reflection, out refraction, out sum);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setGlobalIlluminationEnabled(bool enabled)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setGlobalIlluminationEnabled(this.swigCPtr, enabled);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public bool globalIlluminationEnabled()
		{
			bool result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_globalIlluminationEnabled(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setGISampleCount(int num)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setGISampleCount(this.swigCPtr, num);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public int giSampleCount()
		{
			int result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_giSampleCount(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setGISampleRadiusEnabled(bool enabled)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setGISampleRadiusEnabled(this.swigCPtr, enabled);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public bool giSampleRadiusEnabled()
		{
			bool result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_giSampleRadiusEnabled(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setGISampleRadius(double radius)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setGISampleRadius(this.swigCPtr, radius);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public double giSampleRadius()
		{
			double result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_giSampleRadius(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setGIPhotonsPerLight(int num)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setGIPhotonsPerLight(this.swigCPtr, num);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public int giPhotonsPerLight()
		{
			int result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_giPhotonsPerLight(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setPhotonTraceDepth(int reflection, int refraction, int sum)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setPhotonTraceDepth(this.swigCPtr, reflection, refraction, sum);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void photonTraceDepth(out int reflection, out int refraction, out int sum)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_photonTraceDepth(this.swigCPtr, out reflection, out refraction, out sum);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setFinalGatheringEnabled(bool enabled)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setFinalGatheringEnabled(this.swigCPtr, enabled);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public bool finalGatheringEnabled()
		{
			bool result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_finalGatheringEnabled(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setFGRayCount(int num)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setFGRayCount(this.swigCPtr, num);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public int fgRayCount()
		{
			int result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_fgRayCount(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setFGRadiusState(bool bMin, bool bMax, bool bPixels)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setFGRadiusState(this.swigCPtr, bMin, bMax, bPixels);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void fgSampleRadiusState(out bool bMin, out bool bMax, out bool bPixels)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_fgSampleRadiusState(this.swigCPtr, out bMin, out bMax, out bPixels);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setFGSampleRadius(double min, double max)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setFGSampleRadius(this.swigCPtr, min, max);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void fgSampleRadius(out double min, out double max)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_fgSampleRadius(this.swigCPtr, out min, out max);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setLightLuminanceScale(double luminance)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setLightLuminanceScale(this.swigCPtr, luminance);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public double lightLuminanceScale()
		{
			double result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_lightLuminanceScale(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setDiagnosticMode(OdGiMrDiagnosticMode mode)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setDiagnosticMode(this.swigCPtr, (int)mode);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdGiMrDiagnosticMode diagnosticMode()
		{
			OdGiMrDiagnosticMode result = (OdGiMrDiagnosticMode)GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_diagnosticMode(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setDiagnosticGridMode(OdGiMrDiagnosticGridMode mode, float fSize)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setDiagnosticGridMode(this.swigCPtr, (int)mode, fSize);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void diagnosticGridMode(out OdGiMrDiagnosticGridMode mode, out float fSize)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_diagnosticGridMode(this.swigCPtr, out mode, out fSize);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public void setDiagnosticPhotonMode(OdGiMrDiagnosticPhotonMode mode)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setDiagnosticPhotonMode(this.swigCPtr, (int)mode);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdGiMrDiagnosticPhotonMode diagnosticPhotonMode()
		{
			OdGiMrDiagnosticPhotonMode result = (OdGiMrDiagnosticPhotonMode)GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_diagnosticPhotonMode(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setDiagnosticBSPMode(OdGiMrDiagnosticBSPMode mode)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setDiagnosticBSPMode(this.swigCPtr, (int)mode);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdGiMrDiagnosticBSPMode diagnosticBSPMode()
		{
			OdGiMrDiagnosticBSPMode result = (OdGiMrDiagnosticBSPMode)GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_diagnosticBSPMode(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setExportMIEnabled(bool enabled)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setExportMIEnabled(this.swigCPtr, enabled);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public bool exportMIEnabled()
		{
			bool result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_exportMIEnabled(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setExportMIFileName(string miName)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setExportMIFileName(this.swigCPtr, miName);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public string exportMIFileName()
		{
			string result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_exportMIFileName(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setTileSize(int size)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setTileSize(this.swigCPtr, size);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public int tileSize()
		{
			int result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_tileSize(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setTileOrder(OdGiMrTileOrder order)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setTileOrder(this.swigCPtr, (int)order);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdGiMrTileOrder tileOrder()
		{
			OdGiMrTileOrder result = (OdGiMrTileOrder)GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_tileOrder(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setMemoryLimit(int limit)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setMemoryLimit(this.swigCPtr, limit);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public int memoryLimit()
		{
			int result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_memoryLimit(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setEnergyMultiplier(float fScale)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setEnergyMultiplier(this.swigCPtr, fScale);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public float energyMultiplier()
		{
			float result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_energyMultiplier(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setProgressMonitor(IntPtr pMonitor)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setProgressMonitor(this.swigCPtr, pMonitor);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public IntPtr progressMonitor()
		{
			IntPtr result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_progressMonitor(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setExposureType(OdGiMrExposureType type)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setExposureType(this.swigCPtr, (int)type);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdGiMrExposureType exposureType()
		{
			OdGiMrExposureType result = (OdGiMrExposureType)GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_exposureType(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setFinalGatheringMode(OdGiMrFinalGatheringMode mode)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setFinalGatheringMode(this.swigCPtr, (int)mode);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdGiMrFinalGatheringMode finalGatheringMode()
		{
			OdGiMrFinalGatheringMode result = (OdGiMrFinalGatheringMode)GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_finalGatheringMode(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setShadowSamplingMultiplier(double multiplier)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setShadowSamplingMultiplier(this.swigCPtr, multiplier);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public double shadowSamplingMultiplier()
		{
			double result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_shadowSamplingMultiplier(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public void setExportMIMode(OdGiMrExportMIMode mode)
		{
			GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_setExportMIMode(this.swigCPtr, (int)mode);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public OdGiMrExportMIMode exportMIMode()
		{
			OdGiMrExportMIMode result = (OdGiMrExportMIMode)GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_exportMIMode(this.swigCPtr);
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public bool IsNotEqual(OdGiMentalRayRenderSettingsTraitsData data2)
		{
			bool result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_IsNotEqual(this.swigCPtr, OdGiMentalRayRenderSettingsTraitsData.getCPtr(data2));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public bool IsEqual(OdGiMentalRayRenderSettingsTraitsData data2)
		{
			bool result = GlobalsPINVOKE.OdGiMentalRayRenderSettingsTraitsData_IsEqual(this.swigCPtr, OdGiMentalRayRenderSettingsTraitsData.getCPtr(data2));
			if (GlobalsPINVOKE.SWIGPendingException.Pending)
			{
				throw GlobalsPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		private object locker = new object();

		private HandleRef swigCPtr;
	}
}
